H2 Database-এর সাথে ডেটা ইমপোর্ট এবং এক্সপোর্ট কৌশলগুলি ব্যবহারের মাধ্যমে আপনি বিভিন্ন ডেটাবেস থেকে ডেটা আনা এবং সরিয়ে নিতে পারেন। H2 ডেটাবেজ একটি লাইটওয়েট, ইন-মেমরি ডেটাবেজ, যা দ্রুত ডেভেলপমেন্ট এবং টেস্টিংয়ের জন্য উপযোগী, কিন্তু অনেক সময় এই ডেটা হ্যান্ডলিং এবং ট্রান্সফারের প্রক্রিয়া প্রয়োজন হয়। এখানে আমরা আলোচনা করব H2 ডেটাবেজে ডেটা ইমপোর্ট এবং এক্সপোর্ট করার জন্য কয়েকটি কৌশল এবং টুলস।
H2 ডেটাবেজ থেকে ডেটা এক্সপোর্ট করার জন্য H2 Console, SQL কুয়েরি এবং H2 Command Line Interface (CLI) ব্যবহার করা যেতে পারে।
H2 Console ব্যবহার করে আপনি SQL কুয়েরি দিয়ে ডেটা এক্সপোর্ট করতে পারেন:
http://localhost:8082
).SCRIPT TO 'path/to/export.sql';
এটি H2 ডেটাবেজের সমস্ত ডেটা (টেবিল, ডেটা, স্কিমা, ইত্যাদি) একটি .sql ফাইল আকারে এক্সপোর্ট করবে।
যদি আপনি শুধুমাত্র একটি টেবিল বা কন্টেন্ট এক্সপোর্ট করতে চান, তবে SELECT INTO OUTFILE ব্যবহার করতে পারেন। উদাহরণস্বরূপ:
SELECT * FROM employees INTO OUTFILE 'path/to/export.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
এটি employees
টেবিলের সমস্ত ডেটা CSV ফরম্যাটে export.csv ফাইলে এক্সপোর্ট করবে।
H2 Database-এ ডেটা CSV বা SQL ফাইল থেকে ইমপোর্ট করার জন্য H2 Console অথবা Command Line Interface ব্যবহার করা যেতে পারে।
INSERT INTO employees (id, name, age)
SELECT * FROM CSVREAD('path/to/import.csv');
এটি import.csv ফাইলের ডেটা employees
টেবিলের মধ্যে ইনসার্ট করবে।
যদি আপনার কাছে একটি SQL স্ক্রিপ্ট ফাইল থাকে, তাহলে আপনি SCRIPT
কুয়েরি দিয়ে ডেটা ইমপোর্ট করতে পারেন।
RUNSCRIPT FROM 'path/to/import.sql';
এটি import.sql ফাইল থেকে সমস্ত SQL কমান্ড রান করে ডেটাবেজে ডেটা ইমপোর্ট করবে।
H2 ডেটাবেজ LOAD DATA কুয়েরি ব্যবহার করে CSV ফাইল থেকে ডেটা ইমপোর্ট করতে পারে:
LOAD DATA INFILE 'path/to/import.csv'
INTO TABLE employees
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
এটি import.csv ফাইল থেকে ডেটা employees
টেবিলের মধ্যে লোড করবে।
H2 CLI ব্যবহার করে আপনি SQL, CSV, এবং SCRIPT ফরম্যাটে ডেটা এক্সপোর্ট এবং ইমপোর্ট করতে পারেন।
H2 CLI-এ ডেটা এক্সপোর্ট:
java -cp h2-*.jar org.h2.tools.Script -url jdbc:h2:~/test -user sa -password password -script export.sql
এটি test ডেটাবেজের ডেটা একটি export.sql
ফাইলে এক্সপোর্ট করবে।
H2 CLI-এ ডেটা ইমপোর্ট:
java -cp h2-*.jar org.h2.tools.RunScript -url jdbc:h2:~/test -user sa -password password -script import.sql
এটি import.sql ফাইল থেকে সমস্ত SQL কমান্ড রান করবে এবং ডেটাবেজে ডেটা ইমপোর্ট করবে।
H2 ডেটাবেজ থেকে অন্য কোন RDBMS (যেমন PostgreSQL বা MySQL) এ ডেটা মাইগ্রেট করার জন্য আপনি CSV ফরম্যাটে ডেটা এক্সপোর্ট করে, তারপর সেই ডেটা ইমপোর্ট করতে পারেন।
SELECT * FROM employees INTO OUTFILE 'path/to/export.csv'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n';
PostgreSQL:
COPY employees FROM 'path/to/export.csv' DELIMITER ',' CSV HEADER;
MySQL:
LOAD DATA INFILE 'path/to/export.csv' INTO TABLE employees FIELDS TERMINATED BY ',' ENCLOSED BY '"';
এটি H2 থেকে MySQL বা PostgreSQL-এ ডেটা মাইগ্রেট করতে সহায়ক।
আপনি Java JDBC ব্যবহার করে H2 ডেটাবেজ থেকে ডেটা এক্সপোর্ট বা ইমপোর্ট করতে পারেন। উদাহরণস্বরূপ, H2 থেকে Java অ্যাপ্লিকেশন দিয়ে CSV ফাইলে ডেটা এক্সপোর্ট করার জন্য:
import java.sql.*;
import java.io.*;
public class H2ExportToCSV {
public static void main(String[] args) {
String url = "jdbc:h2:~/test";
String user = "sa";
String password = "";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM employees");
FileWriter csvWriter = new FileWriter("export.csv");
csvWriter.append("ID, Name, Age\n");
while (rs.next()) {
csvWriter.append(rs.getString("id"));
csvWriter.append(",");
csvWriter.append(rs.getString("name"));
csvWriter.append(",");
csvWriter.append(rs.getString("age"));
csvWriter.append("\n");
}
csvWriter.flush();
csvWriter.close();
System.out.println("Data exported to CSV file successfully.");
} catch (SQLException | IOException e) {
e.printStackTrace();
}
}
}
এটি employees
টেবিলের ডেটা export.csv ফাইলে এক্সপোর্ট করবে।
H2 Database থেকে ডেটা ইমপোর্ট এবং এক্সপোর্ট করার জন্য বিভিন্ন কৌশল ব্যবহার করা যেতে পারে। আপনি H2 Console, SQL কুয়েরি, H2 CLI, এবং JDBC ব্যবহার করে ডেটা এক্সপোর্ট এবং ইমপোর্ট করতে পারেন। এছাড়া CSV ফরম্যাটেও ডেটা ট্রান্সফার করা সম্ভব, যা অন্যান্য RDBMS (যেমন PostgreSQL, MySQL) এর সাথে ইন্টিগ্রেশন এবং মাইগ্রেশনের জন্য উপকারী। H2 ডেটাবেজের সঙ্গে ডেটা মাইগ্রেশন বা ইন্টিগ্রেশন করা অত্যন্ত সহজ এবং দ্রুত।
common.read_more